Javascript find, findIndex, filter
find
find()
메서드는 주어진 판별 함수를 만족하는 첫 번째 요소 의 값을 반환합니다. 그런 요소가 없다면 undefined
를 반환합니다.
const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 13);
console.log(found); // 44
findIndex
findIndex()
메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환합니다. 만족하는 요소가 없으면 -1을 반환합니다.
const array1 = [5, 12, 8, 130, 44];
const index1 = array1.findIndex((element) => element > 10)
console.log(index1); // 1
// findIndex 는 콜백으로 3개의 인수를 반환
// element
// 배열에서 처리중인 현재 요소.
// index
// 배열에서 처리중인 현재 요소의 인덱스.
// array
// findIndex 함수가 호출된 배열 자체.
const index2 = array1.findIndex((element, index, array) => {
console.log(element, index, array);
return element===8;
})
//5 0 (5) [5, 12, 8, 130, 44]
//12 1 (5) [5, 12, 8, 130, 44]
//8 2 (5) [5, 12, 8, 130, 44]
console.log(index2); // 2
filter
filter()
메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. 만족하는 결과가 없는 경우 빈 배열 []
을 반환합니다.
const numbers = [1, 2, 3, 4, 5];
const result = numbers.filter(element => element > 3);
console.log(result); // [4, 5]
const people = [
{"name" : "김정환", "age" : 18},
{"name" : "홍길동", "age" : 17},
{"name" : "강감찬", "age" : 16},
{"name" : "이순신", "age" : 15},
{"name" : "아이유", "age" : 14}
]
const oldPeople = people.filter(element => element.age > 15);
console.log(oldPeople); //(3) [{…}, {…}, {…}]
//0: {name: '김정환', age: 18}
//1: {name: '홍길동', age: 17}
//2: {name: '강감찬', age: 16}
const youngPeople = people.filter(element => element.age < 14);
console.log(youngPeople); // []